package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Menu;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface MenuDao {
    List<Menu> findParentMenu(List<Integer> list);

    List<Menu> findChildrenMenu(Integer parentId, List<Integer> list);

    List<Menu> findAll();

    Page<Menu> findPage(String queryString);

    String findMaxPath();

    void addMainMenu(Menu menu);

    Menu findMainMenuById(Integer id);

    List<Menu> findThisChildrenMenuById(Integer id);

    void edit(Menu menu);

    Long findCountById(Integer id);

    void deleteMainMenuById(Integer id);

    Long findRoleCountById(Integer id);

    void setRelationWithParentMenu(Map map);

    void addChildrenMenu(@Param("menu") Menu menu, @Param("parentId") Integer parentId);

    Menu findMenuByMenuId(Integer id);

    Integer findMaxPriorityByParentId(Integer parentId);

    void update(Menu menu);

    void setParentIdNullById(Integer id);

    void deleteMenuById(Integer id);

    List<Integer> findMenuIds(List<Integer> list);

    String findParentPath(Integer parentId);
}
